package com.zhongwang.business.module.invoiceManage.model;


import lombok.Data;

import java.math.BigDecimal;
import java.security.PrivateKey;
import java.util.Date;

/**
 * 获得款票列表
 */
@Data
public class InvoiceListModel {

    private Integer id;
    private Integer parentId;

    //合同id
    private Integer conId;

    //项目编号
    private String conName;

    //合同状态
    private String conWay;

    //买方
    private String totalMethod;

    //类别
    private String contType;

    //合同签订日期
    private Date contYear;

    //地区
    private String contAddress;

    //项目编号
    private String contName;

    //数量
    private Integer cnt;

    //合作方
    private String contPartner;

    //买家合同编号
    private String buyCode;

    //卖家合同编号
    private String sellCode;

    //合作方式
    private String contWay;

    //回款表主键
    private Integer rmiId;

    //回款款项    1   2   3    4
    private Integer rmiMoneyType;
    //回款项 回款名称  预付款  进度款
    private String rmiName;

    //抹账金额（和）
    private BigDecimal rmiDebtsMoney;

    //坏账金额（和）
    private BigDecimal rmiBadMoney;

    //抹账金额（单个回款项）
    private BigDecimal singleRmiDebtsMoney;

    //坏账金额（单个回款项）
    private BigDecimal singleRmiBadMoney;

    //单回款项 回款比例   eq:预付款 10%   进度款 60%
    private  BigDecimal rmiExpectScale;

    //单款项的预计回款时间
    private Date rmiExpectDate;

    //回款类型  有无抹账坏账情况  3有抹账(抹账金额（和）>0)、4有坏账(坏账金额（和）>0)、0已回全( 应收回款总和-分包已收金额（和）<=0 )、1未回全( 应收回款总和-分包已收金额（和）>0 )
    private String  returnType;

    //单款项回款总额
    private  BigDecimal singleRmiExpectMoney;





    //分包已收金额（和）
    private BigDecimal sumAlreadyMoney;

    //分包实际已收金额
    private BigDecimal rmiActualMoney;

    //单款项已收金额
    private BigDecimal singleAlreadyMoney;

    //分包已开发票（和）
    private BigDecimal sumAlreadyInvoiceAmount;

    //应收回款总和
    private  BigDecimal sumExpectMoney;

    //应开发票总和
    private  BigDecimal sumExpectInvAmount;



    //总收款比例 = 分包已收金额（和）÷ 应收回款总和
    private  BigDecimal collectionScale;
    //单款项收款比例
    private  BigDecimal singleCollectionScale;





    //开票比例 = 分包已开发票（和）÷ 应收回款总和
    private  BigDecimal invoiceScale;

    //总应收未收 = 应收回款总和 - 分包已收金额（和）    到了回款日期才有
    private  BigDecimal receivableNotReceivedMoney;
    //单款项应收未收 = 单款型应收回款 - 单款项已收金额  到了回款日期才有
    private  BigDecimal singleReceivableNotReceivedMoney;


    //款票状态
    private Integer moneyInvoiceStatue;

    //是否为总包款项信息
    private  Integer rmiIsAll;

    //包含的项目名称
    private String name;
    private String code;


    //发票表主键
    private Integer invId;

    //发票号
    private String invCode;

    //发票价税合计
    private BigDecimal invAmount;

    //发票开票时间
    private Date invDate;

    //发票录入人
    private String invTakePerson;

    //发票录入日期
    private Date invCreateDate;

    //发票货物名称
    private String invGoodsName;

    //发票状态 inv_is_delete
    private Integer invIsDelete;

    //发票备注
    private String invRemark;


    /**
     * 审核明细表(单据表)	列1	sheet_detail
     */
    /**
     * 业务id
     */
    private Integer bllId;
    /**
     * 提交人
     */
    private Integer submitUser;
    /**
     * 1预算审核2报价审核3合同审核4款票审核6核算审核 7概算审核
     */
    private Integer appType;

    /**
     * 审核提交记录表 verify_process
     */

    /**
     * 《sheet_detail》的主键
     */
    private Integer sheetId;
    /**
     * 《verify_info》的code
     */
    private String vCode;
    /**
     * 审核顺序
     */
    private Integer orderNo;
    /**
     * 下一个节点id
     */
    private Integer start;
    /**
     * 上一个节点id
     */
    private Integer comp;
    /**
     * 审核人ID
     */
    private Integer verifier;
    /**
     * 审批时间
     */
    private String appTime;
    /**
     *  0=被驳回，1=未审核，2=已审核
     */
    private Integer appStatus;
    /**
     * 审批意见/驳回意见
     */
    private String remark;
    /**
     * 当前节点
     */
    private Integer nowNode;

    /**
     * 审核流程用***************************
     */
    /**
     * 审批级别
     */
    private Integer post;
    /**
     * 是否最后审核节点
     */
    private Integer startNode;
    /**
     * 人名
     */
    private String vname;
    /**
     * 包含项目名称
     */
    private String projectName;
    /**
     * 当前登录的uid
     */
    private Integer loginUid;

    /**
     * 当前登录的name
     */
    private String loginUName;
    /**
     * 审批记录表的主键
     */
    private Integer processId;

    /**
     * 检索开始时间
     */
    private Date beginTime;

    /**
     * 检索结束时间
     */
    private Date  endTime;


    /**
     * 合同应收未收值
     */
    private Integer conYsws;

    /**
     * 任务表状态
     */
    private Integer tstatus;

    /**
     * 任务表开始时间
     */
    private Date beginDate;

    /**
     * 任务表结束时间
     */
    private Date endDate;

    /**
     * 任务表主要负责人    user表  account
     */
    private String keyPerson;

    /**
     * 任务表主要负责人员工编号   user表 id
     */
    private Integer keyPersonId;

    /**
     * 回款编辑人
     */
    private  String keditUserName;

    /**
     * 发票编辑人
     */
    private String peditUserName;

    /**
     * 合同金额
     */
    private BigDecimal partMoney;

    private String createUser;

}
